package com.tinet.sistReserva.model;

import java.io.Serializable;
import java.util.Collection;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.Type;

/**
 * 
 * Clase Sala.
 * 
 * @author Frmancil
 */
@Entity
@Table(name = "Sala")
public class Sala implements Serializable {
    /**
     * Numero serialVersionUID.
     */
    private static final long serialVersionUID = 1L;
    /**
     * Coleccion de Reservas, para instanciar relacion one to many con sala.
     */
    @OneToMany(cascade = CascadeType.ALL)
    private Collection<Reserva> Reservas;
    /**
     * Atributo id_Sala, clave primaria de tabla en base de datos.
     */
    @Id
    @Column(name = "id_sala")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id_sala;
    /**
     * Atributo nombre.
     */
    @Column(name = "nombre")
    private String nombre;
    /**
     * Atributo ubicacion.
     */
    @Column(name = "ubicacion")
    private String ubicacion;
    /**
     * Atributo tieneProyector es verdadero si la sala tiene proyector y falso
     * en caso contrario.
     */
    @Type(type = "org.hibernate.type.NumericBooleanType")
    @Column(name = "tieneProyector")
    private Boolean tieneProyector;
    /**
     * Atributo tieneTelevisor es verdadero si la sala tiene televisor y falso
     * en caso contrario.
     */
    @Type(type = "org.hibernate.type.NumericBooleanType")
    @Column(name = "tieneTelevisor")
    private Boolean tieneTelevisor;
    /**
     * Atributo capacidad de la sala.
     */
    @Column(name = "capacidad")
    private int capacidad;

    public int getId_sala() {
        return id_sala;
    }

    public void setId_sala(int id_sala) {
        this.id_sala = id_sala;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getUbicacion() {
        return ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }

    public Boolean getTieneProyector() {
        return tieneProyector;
    }

    public void setTieneProyector(Boolean tieneProyector) {
        this.tieneProyector = tieneProyector;
    }

    public Boolean getTieneTelevisor() {
        return tieneTelevisor;
    }

    public void setTieneTelevisor(Boolean tieneTelevisor) {
        this.tieneTelevisor = tieneTelevisor;
    }

    public int getCapacidad() {
        return capacidad;
    }

    public void setCapacidad(int capacidad) {
        this.capacidad = capacidad;
    }

    public Collection<Reserva> getReservas() {
        return Reservas;
    }

    public void setReservas(Collection<Reserva> reservas) {
        Reservas = reservas;
    }

}
